Al intentar portar mi extensión a Safari (usando xcrun safari-web-extension-converter ) desde el complemento de Firefox, la implementación browser.downloads.download en mi extensión para descargar las opciones de usuario almacenadas da el siguiente error:
TypeError: undefined no es un objeto (evaluando 'browser.downloads.download')
A continuación se enumera mi implementación para descargar las opciones de usuario como archivo .csv:
var enableDebug = 1; // Function to download CSV file function downloadCSV(csv, file_name) { try { var blob = new Blob([csv], { type: "text/csv;charset=utf-8" }); browser.downloads.download({ url: URL.createObjectURL(blob), filename: file_name, saveAs: true }); } catch (err) { if (enableDebug === 1) { console.log(err); } } }Permisos de manifiesto.json:
"permissions": ["menus", "storage", "unlimitedStorage", "downloads"]La versión de Safari que se está utilizando es la 15.4. Mirando alrededor de la web había dado los siguientes enlaces que parecen relevantes, pero no estoy seguro de si los problemas mencionados en estos enlaces son los que están causando fallas en mi caso:
browser.downloads API para Safari Web Extensions
Safari error indefinido no es un objeto
Intenté agregar lo siguiente en el archivo de derechos de XCode, pero tampoco ayudó:
com.apple.security.files.downloads.read-writeCualquier ayuda para comprender la causa y la posible solución sería muy apreciada.